大家好!在前面的章節中,我們學習了如何設計一個「AI 指揮官」,以及讓 AI 能夠按照計劃將複雜的程式碼進行分塊和索引。然而,要讓這個計劃順利進行,我們需要讓 AI 逐步地、精確地完成每一個步驟。
今天,我們將探討如何讓 AI 跟隨指揮官的指令,逐步完成每一個步驟的程式碼生成。為了達到這個目標,我們將引入 兩個 LLM(大型語言模型),讓它們各自扮演特定的角色,協同合作。
當我們的任務需要生成詳細的步驟講解時,單一的 LLM 可能會因為需要處理大量資訊而感到壓力,導致輸出品質下降。為了讓生成步驟講解的 LLM 壓力更小,專注於更精確的內容,我們採用了兩個 LLM:
LLM A:程式碼分析師
LLM B:教學撰寫者
透過這種分工,LLM B 可以更專注於撰寫高品質的教學內容,而不必處理大量的程式碼細節。
指揮官需要制定清晰的計劃,將任務拆解為可執行的步驟,並提供必要的指導。
指揮官的命令範例:
任務:引導學生實作一個簡單的計算器應用程式。
當前步驟:實作加法功能。
目標:讓學生瞭解如何撰寫一個加法函式,並將其整合到應用程式中。
LLM A 接收到指揮官的命令,從單一的程式碼檔案中選取與「加法功能」相關的函式或代碼片段。
LLM A 的輸入:
LLM A 的任務:
LLM A 的輸出:
選取的程式碼函式:
1. 函式名稱:addNumbers
- 功能:接收兩個數字,返回它們的和
- 程式碼:
```javascript
function addNumbers(a, b) {
return a + b;
}
```
LLM B 接收來自指揮官和 LLM A 的資訊,專注於撰寫本步驟的教學內容。
LLM B 的輸入:
指揮官的命令
上一步做了什麼
我們這次要幹嘛
下一步要做什麼
目前教學已經學到哪裡了
需要的程式碼函式
addNumbers
函式LLM B 的任務:
addNumbers
函式的解說和程式碼示例LLM B 的輸出:
在這個步驟中,我們將撰寫一個加法函式,讓計算器可以計算兩個數字的和。
我們這次要幹嘛:
addNumbers
函式,接收兩個數字,返回它們的和程式碼示例:
// 加法函式
function addNumbers(a, b) {
return a + b;
}
程式碼解說:
function addNumbers(a, b)
:定義了一個名為 addNumbers
的函式,接收參數 a
和 b
return a + b;
:函式返回 a
和 b
的和下一步要做什麼:
在下一個步驟中,我們將把 addNumbers
函式整合到應用程式中,讓使用者可以輸入數字,點擊按鈕,並看到計算結果。
透過這種方式,LLM B 不需要處理整個程式碼檔案,只需要專注於當前步驟需要的函式和內容。這減輕了 LLM B 的壓力,讓它能夠撰寫更精確和深入的教學內容。
LLM A 和 LLM B 的合作如何提高效率?
透過引入兩個 LLM,我們成功地讓生成步驟講解的 LLM(LLM B)減輕了壓力,能夠專注於更精確的內容。LLM A 負責從單一的程式碼檔案中選取當前步驟需要的函式,讓 LLM B 只需要處理必要的資訊。這種方法提高了整個流程的效率和教學品質。
在未來的應用中,我們可以將這種設計運用到各種教學和開發場景中,讓 AI 成為我們強大的助手,幫助我們一步一步地實現目標。
感謝你的閱讀!如果你對本文有任何疑問或想法,歡迎在下方留言討論。別忘了關注我的 Threads 和加入 Discord 社群,一起探索更多有趣的 AI 知識。我們下次見!